iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0

開始必須有 GitHub 帳號 /images/emoticon/emoticon28.gif

環境準備

  • 建立 Repository 儲存庫: 可以設定不公開Settings > General > Danger Zone(紅色外框區域)> Change repository visibility(變更儲存庫可見度)> Change visibility (依照畫面指示輸入儲存庫名稱並確認變更即可)。
  • 環境變數與機密資訊 (Secrets): 到儲存庫的路徑依序 Settings > Actions > General > Workflow permissions,確保勾選 Read and write permissions 並儲存設定,獲得可寫入權限。
  • 警訊專用 gmail 帳號
    • 並在建立好三個變數,注意:數值在輸入後再次檢視會是空值,正常的。
      • gmail帳號 MAIL_USERNAME
      • gmail密碼 MAIL_PASSWORD > 這裡也可透過 Google 應用程式密碼 貼上取得的16碼(不需要空白)。
      • 收信帳號 MAIL_TO
下列為參考示範圖

https://ithelp.ithome.com.tw/upload/images/20260915/20184295oukylYJ4ye.jpg
https://ithelp.ithome.com.tw/upload/images/20260915/20184295yU4dq5T5Vw.jpg
https://ithelp.ithome.com.tw/upload/images/20260915/20184295yxvYLnUWbH.jpg

程式碼與檔案架構

  • 主程式入口 (main.py): 這是 Actions 觸發後實際執行的核心大腦。
    通常會使用 Python 語法來完成,並且將需求整理出來,交由gemini來將主程式完成

    • 情資爬取
    • 資料解析
    • 紀錄及更新資料
    • 評分及區分類別、等級
    • 發送 Email 預警的邏輯
  • 套件依賴清單 (requirements.txt): 由於流程中使用了 Playwright 的快取機制,系統會透過比對這個檔案的雜湊值來決定是否重新下載快取。請確保檔案內完整列出專案所需的依賴,例如 requestsbeautifulsoup4feedparserplaywright

下列為參考示範圖

https://ithelp.ithome.com.tw/upload/images/20260915/20184295pMG8GWxyau.jpg

https://ithelp.ithome.com.tw/upload/images/20260915/20184295f1rStaIsWi.jpg

情資來源與目標盤點

  • 確定的監控目標清單: 既然動用了能處理動態網頁的 playwright 以及解析 RSS 的 feedparser,建議先盤點好要抓取的具體目標。例如特定的資安通報 RSS Feeds,或是需要模擬瀏覽器行為才能抓到威脅指標(IOCs)的動態網頁。
  • 資料儲存格式規劃: 構思好 raw_discovery.csv 與狀態紀錄檔 last_seen.json 的欄位結構。定義清晰的資料格式,在後續交由 CAPEv2 或 Malcolm 進行自動化比對時,能大幅減少清洗資料的麻煩。

第一次參賽,相關內容有誤還請多多提醒,如果寫的不好,也可以留言討論


下一篇
[Day 02]GitHub Actions - README.md 說明
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言